package org.lemon.cla.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Min;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Schema(description = "社团活动更新请求对象")
public class ClubActivityUpdateRequest {

    @Schema(description = "所属社团ID", example = "2")
    private Long clubId;

    @Schema(description = "活动名称", example = "算法竞赛训练")
    private String activityName;

    @Schema(description = "封面URL", example = "http://example.com/new_activity_cover.jpg")
    private String coverUrl;

    @Schema(description = "活动内容", example = "每周一次的算法训练营")
    private String content;

    @Schema(description = "地点", example = "图书馆多功能厅")
    private String location;

    @Schema(description = "报名开始时间", example = "2024-08-01T09:00:00")
    private LocalDateTime signupStart;

    @Schema(description = "报名结束时间", example = "2024-08-15T18:00:00")
    private LocalDateTime signupEnd;

    @Schema(description = "活动开始时间", example = "2024-08-20T09:00:00")
    private LocalDateTime startTime;

    @Schema(description = "活动结束时间", example = "2024-08-20T18:00:00")
    private LocalDateTime endTime;

    @Schema(description = "组织者ID (管理员ID)", example = "103")
    private Long organizerId;

    @Min(value = 0, message = "参与人数不能小于0")
    @Schema(description = "参与人数", example = "70")
    private Integer participantCount;
}